package org.openwork.portlet.skillmanagement.service;

import com.liferay.portal.kernel.annotation.Isolation;
import com.liferay.portal.kernel.annotation.Propagation;
import com.liferay.portal.kernel.annotation.Transactional;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;


/**
 * <a href="SkillLocalService.java.html"><b><i>View Source</i></b></a>
 *
 * <p>
 * ServiceBuilder generated this class. Modifications in this class will be
 * overwritten the next time is generated.
 * </p>
 *
 * <p>
 * This interface defines the service. The default implementation is
 * {@link
 * org.openwork.portlet.skillmanagement.service.impl.SkillLocalServiceImpl}}.
 * Modify methods in that class and rerun ServiceBuilder to populate this class
 * and all other generated classes.
 * </p>
 *
 * <p>
 * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
 * </p>
 *
 * @author    Samuel Garcia Martinez
 * @see       SkillLocalServiceUtil
 * @generated
 */
@Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
    PortalException.class, SystemException.class}
)
public interface SkillLocalService {
    public org.openwork.portlet.skillmanagement.model.Skill addSkill(
        org.openwork.portlet.skillmanagement.model.Skill skill)
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.Skill createSkill(long id);

    public void deleteSkill(long id)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    public void deleteSkill(
        org.openwork.portlet.skillmanagement.model.Skill skill)
        throws com.liferay.portal.kernel.exception.SystemException;

    @SuppressWarnings("unchecked")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    @SuppressWarnings("unchecked")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end) throws com.liferay.portal.kernel.exception.SystemException;

    @SuppressWarnings("unchecked")
    public java.util.List dynamicQuery(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
        int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.SystemException;

    public long dynamicQueryCount(
        com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
        throws com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public org.openwork.portlet.skillmanagement.model.Skill getSkill(long id)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.Skill> getSkills(
        int start, int end)
        throws com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public int getSkillsCount()
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.Skill updateSkill(
        org.openwork.portlet.skillmanagement.model.Skill skill)
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.Skill updateSkill(
        org.openwork.portlet.skillmanagement.model.Skill skill, boolean merge)
        throws com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.Skill updateSkill(
        long pk, java.lang.String name, long userId, long categoryId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    public org.openwork.portlet.skillmanagement.model.Skill addSkill(
        java.lang.String name, long userId, long categoryId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    public int countByCategoryId(long categoryId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.Skill> searchByCategoryId(
        long categoryId, int start, int end,
        com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;

    @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
    public java.util.List<org.openwork.portlet.skillmanagement.model.Skill> searchByCategoryId(
        long categoryId)
        throws com.liferay.portal.kernel.exception.PortalException,
            com.liferay.portal.kernel.exception.SystemException;
}
